The present invention generally relates to a distributed data base system in which different parts of a data base are handled by one each of a number of interconnected processors, the different data base parts containing a number of data entities.
More particularly the invention relates to data base distribution by which is meant, in the present connection, how data entities are addressed and distributed in the data base system.
By data entities is here meant e.g. entities of the type called object in an object oriented system.
In an object oriented distributed data base system each of the included processors may need to access objects in its own data base part, as well as in the data base parts of other processors. For each object there is therefore information relating to the subnetwork and the processor in which the object exists, information about an agent in another processor executing a desired service, e.g. get object, and information about where exactly in the memory of the processor the object in question is located. If all this information is available on all processors this results in very large addressing tables, and mass updatings of the address of the objects over the whole data base system, when an object is created, removed, or moved.
EP 405,829 relates to a telecommunication system in which the software is implemented by means of independent software components in the form of objects. A function "runtime linker" in a "runtime system" records the objects and stores a data pointer to the data of the objects. To communicate with another object, a source object transmits a message to the runtime system. The message includes name and identity of the method of the destination object.
The runtime system serves only a single processor or group of objects and calls the destination object by means of the identity of the method and the data pointer if the destination object belongs to a group of objects served by the runtime system. In case a destination object is located on another processor, the runtime system broadcasts the message to other processors. In each of the receiving processors, the runtime system searches its "linker table" for the symbolic name of the destination object of the message and, if found, calls the destination object on the basis of the method identification in the message and the data pointer information in the runtime linker. Interprocessor messages include a source processor designation. The runtime system of each of the processors stores the name of the source processor and the symbolic name of the source object when an interprocessor message is received.
An "alias table" contains all "alias names" of the local processor registered. If a name is not listed in the alias table an investigation is made with respect to whether the destination object is located in the linker table. If the answer is no an investigation is made in a destination table and if the name of the destination processor is known, a message is sent to the destination processor.
In U.S. Pat. No. 4,901,231 there is described a multiprocessor system executing over a plurality of processors. A user process in one processor may access system resources in the other processors. When a user process accesses a local file, the access is made i.a. by means of a user file table. When the user process accesses a remote file, the access is made via a port table, over a virtual channel identified by means of the port table to a part process and then via the user file table and system file table of the part process.
U.S. Pat. No. 5,187,790 relates to a computer system with a plurality of simultaneously running processes, including at least one server process and a plurality of client processes. Each process has a list of identities representing object access rights. Each object has an access checking list with identities to be used for determining the processors which may access the object.